<?php


namespace app\common\validate\virtual;


use yiqiniu\extend\validate\YqnValidate;

/**
 * 虚码活动商品
 * Class VirtualPromoProduct
 * @package app\common\validate\virtual
 */
class VirtualPromoProductValid extends YqnValidate
{

    /**
     *  字段：'id'，    类型：'bigint',    是否为空：1,    说明：序号
     *  字段：'mer_id'，    类型：'character varying(20)',    是否为空：1,    说明：
     *  字段：'vp_id'，    类型：'bigint',    是否为空：1,    说明：虚码规则ID
     *  字段：'product_code'，    类型：'character varying(50)',    是否为空：1,    说明：单商品ID,
     *  字段：'num'，    类型：'smallint',    是否为空：1,    说明：商品数量,联合活动有效
     *  字段：'op_user'，    类型：'integer',    是否为空：1,    说明：操作人
     *  字段：'create_at'，    类型：'timestamp(0) without time zone',    是否为空：1,    说明：创建时间
     *  字段：'update_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：更新时间
     */

    /**
     *  验证规则
     */
    protected $rule = [
        'id' => 'require|number',
        'mer_id' => 'require',
        'vp_id' => 'require|number',
        'product_code' => 'require',
        'num' => 'require|number',
        'op_user' => 'require|number',
        'create_at' => 'require|date',
        'update_at' => 'date',


    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require' => '序号不能为空',
        'id.number' => '序号只能为数字类型',
        'mer_id.require' => '不能为空',
        'vp_id.require' => '虚码规则ID不能为空',
        'vp_id.number' => '虚码规则ID只能为数字类型',
        'product_code.require' => '单商品ID,不能为空',
        'num.require' => '商品数量,联合活动有效不能为空',
        'num.number' => '商品数量,联合活动有效只能为数字类型',
        'op_user.require' => '操作人不能为空',
        'op_user.number' => '操作人只能为数字类型',
        'create_at.require' => '创建时间不能为空',
        'create_at.date' => '创建时间只能为日期类型',
        'update_at.date' => '更新时间只能为日期类型',
        'pro.require' => '商品数据不能为空',
        'pro.array' => '商品数据只能为数组类型',

    ];

    //验证场景
    protected $scene = [
        //新增
        'add' => ['mer_id', 'vp_id', 'op_user', 'pro'],
        //编辑
        'edit' => ["id", 'vp_id', 'num'],
    ];
}
